package com.qiku.dao;

import com.qiku.domain.*;

import java.util.List;

public interface UserMapper {

    /**
     * 分页获取用户数据&条件查询用户数据
     * @param userVo
     * @return
     */
    public List<User> findAllUserByPage(UserVo userVo);


    /**
     * 修改用户状态
     * @param user
     * @return
     */
    public int updateUserStatus(User user);


    /**
     * 用户登录功能
     * @param user
     * @return
     */
    public User login(User user);

    /**
     * 用户注册功能
     * @param user
     * @return
     */
    public int register(User user);

    /**
     * 根据用户id查询   当前用户角色
     * @param id
     * @return
     */
    public List<Role> findUserRelationRoleById(Integer id);

    /**
     * 根据角色id 查询角色拥有的顶级菜单信息
     * @param ids
     * @return
     */
    public List<Menu> findParentMenuByRoleId(List<Integer> ids);

    /**
     * 根据pid  查询子菜单信息
     * @param pid
     * @return
     */
    public List<Menu> findSubMenuByPid(Integer pid);

    /**
     * 获取用户拥有的资源权限信息
     * @param ids
     * @return
     */
    public List<Resource> findResourceByRoleId(List<Integer> ids);


    /**
     * 根据用户id  清除中间表
     * @param userId
     * @return
     */
    public int deleteUserContentRole(Integer userId);

    /**
     * 分配角色
     * @param userRoleRelation
     * @return
     */
    public int userContentRole(User_Role_relation userRoleRelation);


}
